package cn.kgc.mapper;

import java.util.*;
import java.io.Serializable;

import cn.kgc.pojo.Jobposting;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 描述： 数据库访问层接口
* @author 
* @date 2018/03/05
*/
@Mapper
public interface JobpostingMapper {

    /**
    * 描述：根据Id获取Jobposting对象
    * @param resumeId
    */
    Jobposting findById(Serializable resumeId);
    
    /**
    * 描述：获取所有的Jobposting对象
    */
    List<Jobposting> findAll();

	/**
    * 描述：新增保存Jobposting对象
    */
    int save(Jobposting jobposting);

	/**
    * 描述：根据Id删除Jobposting对象
    * @param resumeId
    */
    int delete(Serializable resumeId);
	
	/**
    * 描述：更新Jobposting对象
    */
    int update(Jobposting jobposting);
    
    /**
     * 根据不确定的条件，动态查询
     */
    List<Jobposting> query(Object params);
    
    /**
     * 根据不确定的条件，动态分页查询
     */
    List<Jobposting> queryByPage(@Param("params") Object params, @Param("from") Integer from, @Param("size") Integer size);
    /**
     * 根据不确定的条件，查询总行数
     */
    int getCount(Object params);
    
    /**
     * 获得表中数据的总行数
     */
    int getTotalCount();

    /**
     * 根据职位名称查询职位发布信息
     */
    List<Jobposting> getJobpostingByPosition(String position);

    /**
     * 获取所有的职位发布信息及对应的公司信息
     */
    List<Jobposting> getAllJobposting();

    /**
     * 根据职位名称，分页查询
     */
    List<Jobposting> queryByPosition(@Param("position") String position, @Param("index") Integer index, @Param("size") Integer size);

    /**
     * 根据职位名称查询总行数
     */
    int getCountByPosition(@Param("position") String position);

    /**
     * 根据职位分类名称，分页查询
     */
    List<Jobposting> queryByCategory(@Param("category") String category, @Param("index") Integer index, @Param("size2") Integer size2);

    /**
     * 根据职位分类名称查询总行数
     */
    int getCountByCategory(@Param("category") String category);

}
